package com.itheima.example;

import java.util.Random;
import java.util.Scanner;

public class Test4 {
    public static void main(String[] args) {
        // 需求：随机5个数据(1-20)，不断的猜，猜中为止，输出元素出现的索引，以及全部5个数据。
        // 1、定义一个动态初始化的数组存储5个随机数据
        int[] datas = new int[5]; // [0, 0, 0, 0, 0]
        //                            0  1  2  3  4

        // 2、定义一个循环，随机5个数据(1-20)，赋值给数组存储起来
        Random r = new Random();
        for (int i = 0; i < datas.length; i++) {
            // i = 0  1  2  3  4
            int data = r.nextInt(20) + 1; // 1 - 20  ==> (0-19) + 1
            // 把这个数据赋值给数组对应的索引位置
            datas[i] = data;
        }

        // 3、使用死循环让用户不断的猜数据
        Scanner sc = new Scanner(System.in);
        OUT:
        while (true){
            System.out.print("请您输入您猜的数据：");
            int guessData = sc.nextInt();

            // 4、判断这个数据是否在数组中，在说明猜中了，不在就继续猜测
            // 遍历数组
            for (int i = 0; i < datas.length; i++) {
                // 判断当前元素是否等于猜的数据
                if(datas[i] == guessData){
                    System.out.println("恭喜您，猜中了哦！您猜的数据索引位置是：" + i);
                    break OUT; // 结束while死循环
                }
            }

            // 本次没有猜中数据
            System.out.println("很遗憾，您这次成功的避开了正确答案！没有猜中！");
        }

        // 5、输出数组中的所有数据，让用户看一看自己确实猜中了。
        for (int i = 0; i < datas.length; i++) {
            System.out.print(datas[i] + "\t");
        }
    }
}
